W tym, ostatnim już, notatniku omówię budowę aplikacji mobilnej mającej na celu wykorzystanie utworzonych wcześniej modeli do rozpoznawania kart do gry.
Schemat wyglądu aplikacji¶
Zobaczmy sobie na wczesny schemat budowy aplikacji (utworzony jeszcze przed rozpoczęciem pisania kodu):
Finalna wersja w miarę pokrywa się z tymi założeniami.
Budowa aplikacji / instrukcja¶
Zobaczmy oraz omówmy finalną budowę aplikacji.
UWAGA! Aplikacja może wymagać minimum 3/4 GB RAMu.
Menu główne¶
Menu główne
Tak prezentuje się Menu główne. Poza napisem na samej górze mamy jeszcze podanego autora aplikacji (czyli mnie) oraz 3 przyciski:
Zrób zdjęcie- przenosi nas do aparatu, aby wykonać zdjęcie (o ile udzielimy odpowiednich uprawnień)Wczytaj zdjęcie- przenosi nas do galerii, z której możemy wybrać dowolne zdjęcieZobacz zapisane- pokazuje nam listę wszystkich wykonanych zapisów (przenosi nas do sekcjiZapisane pozycje)
Przycisk cofania powoduje wyjście z aplikacji.
Zrób zdjęcie¶
Zrób zdjęcie
Akceptacja zrobionego zdjęcia
Zrób zdjęcie to sekcja, w której, po udzieleniu uprawnień do korzystania z aparatu, mamy do dyspozycji aparat telefonu. Możemy wykonać dowolne zdjęcie (tak jak na obrazie po lewej) i następnie przechodzimy do akceptacji naszego zdjęcia (obraz po lewej). Jeżeli odrzucimy zrobione zdjęcie, to wracamy z powrotem do aparatu, a jeśli zaakceptujemy to idziemy dalej do sekcji Wybór trybu i modelu.
Wczytaj zdjęcie¶
Wybór zdjęcia
Wczytaj zdjęcie pozwala nam wybrać z galerii dowolne zdjęcie, po czym przenosi nas do Wybór trybu i modelu.
Wybór trybu i modelu¶
Wybór trybu i modelu
Tryby
Modele
W Wybór trybu i modelu możemy dostosować ustawienia dotyczące detekcji, takie jak:
Wybierz tryb - Odpowiada za to jak dzielimy detekcje znalezione przez model. Wyróżniamy 3 opcje:
- Detekcja kart - domyślna opcja, po prostu wykrywa karty. Każda karta ma swój własny kolor.
- Poker Klasyczny - wykrywa karty oraz dzieli detekcję na grupy po 5 kart. Każda grupa ma swój unikalny kolor. Dodatkowo zaznacza wygranych graczy.
- Poker Texas - również wykrywa karty i dokonuje podziału na grupy. Najpierw tworzy jedną grupę 5 kart (tzw. Kary wspólne), a następnie tworzy grupy po 2 karty, z unikalnymi kolorami oraz zaznacza wygranych graczy.
Każda detekcja będzie zaznaczona ramką wokół rogu karty z figurą i symbolem karty oraz napisem na przeźroczystym tle. UWAGA! Dla opcji Poker Klasyczny i Poker Texas upewnij się, że odległości między grupami kart są wystarczające, aby nastąpił odpowiedni podział.
Wybierz rozdzielczość modelu - Ta opcja pozwala nam zdecydować jakiego modelu użyjemy. Możliwe wybory reprezentują rozdzielczość do jakiej zostanie sprowadzony oryginalny obraz w celu wykorzystania na nim modelu (jest to rozdzielczość wymagana na wejściu modelu). Tutaj mamy do wyboru 4 opcje:
- 320x320 - najmniejszy oraz najszybszy model. Posiada również najniższą dokładność.
- 640x640 - łączy w sobie dużą szybkość oraz dokładność, jest to domyślny wybór.
- 1024x1024 - również stosunkowo szybki i bardzo dokładny.
- 1600x1600 - najwolniejszy, ale i również najdokładniejszy z wszystkich modeli.
Wyświetlić pewność detekcji? - Decyduje o tym, czy wyświetlić w tekście danej detekcji dodatkowo informację o jej pewności w procentach.
Próg detekcji - Pozwala nam dostosować od ilu procent pewności akceptujemy detekcje.
Kliknięcie na przycisk OK wyświetla nam na ekranie sekcję Trwa detekcja i rozpoczyna pracę modelu.
Trwa detekcja¶
Trwa praca modelu
Trwa detekcja jest sekcją, w której aplikacja jest nieresponsywna, ponieważ model wykonuję wszystkie wymagane operację. Po zakończeniu zostajemy przeniesieni do sekcji Informacje o detekcji.
Informacje o detekcji¶
Oryginalne zdjęcie
Zdjęcie z detekcjami - Detekcja kart
Zdjęcie z detekcjami - Poker klasyczny
Zdjęcie z detekcjami - Poker texas
Informacje 1
Informacje 2
Wszystkie detekcje - Detekcja kart
Gracze - Poker klasyczny
Gracze - Poker texas
Informacje o detekcji jest dużą sekcją przedstawiającą wszystkie informację o detekcjach. Widzimy w niej:
2 przyciski:
Menu główne- przenosi nas do sekcjiMenu główne.Zapisz- powoduje przejście do sekcjiZapisz.
Widok aktualnej strony - Przedstawia nam różne treści z informacjami, w zależności od numeru strony:
- 1. Oryginalne zdjęcie - pokazuje nam oryginalne zdjęcie, na którym poszukiwaliśmy detekcji.
- 2. Zdjęcie z detekcjami - w zależności od wybranego trybu i tego czy chcemy widzieć pewność detekcji pokazuje nam obraz z detekcjami:
- "Detekcja kart" - zaznacza detekcję w ramkę oraz pokazuje jaka to karta (każda karta ma swój unikalny kolor ramki)
- "Poker Klasyczny" - zaznacza detekcję, ale grupuje je po 5 kart. Każda grupa ma swój kolor oraz wygrana grupa (lub kilka) jest zaznaczona złotym owalem.
- "Poker Texas" - również zaznacza detekcję. Tworzy jedną grupę 5 kart i pozostałe po 2. Też zaznacza wygraych złotym owalem.
- 3. Informację o detekcji - wyświetla następujące informację o detekcji:
- Tryb,
- Oryginalna rozdzielczość ekranu,
- Rozdzielczość modelu,
- Model,
- Próg detekcji,
- zas trwania detekcji,
- Liczba wszystkich detekcji,
- Liczba unikanych kart,
- Wyryte karty:
- Dla trybu "Detekcja kart" są to unikalne karty z największą pewnością.
- Dla trybów "Poker Klasyczny" i "Poker Texas" są to wszystkie detekcje posortowane pewnością.
- 4. Wszystkie detekcje lub Gracze - W zależności od trybu:
- "Detekcja kart" - wyświetla wszystkie znalezione detekcje, posortowane od najpewniejszych.
- "Poker Klasyczny" - wyświetla wygranego gracza oraz rękę i najlepszą kombinację wszystkich graczy.
- "Poker Texas" - pokazuje wygranego gracza, karty wspólne oraz rękę i najlepszą kombinację wszystkich graczy.
Numery stron, włącznie z aktualnie wybraną.
Zapisz¶
Zapisz
Sekcja Zapisz jest odpowiedzialna za tworzenia zapisu na podstawie naszej detekcji. Mamy tutaj:
Miejsce do wprowadzenia "Nazwy zapisu" o długości od 1 do 25 znaków.
Miejsce do wprowadzenia dowolnego opisu.
Przycisk
Potwierdź- tworzy nasz zapis i przenosi nas z powrotem do sekcjiMenu główne. Jeżeli nazwa jest pusta lub zawiera same spacje, to wyskakuje odpowiedni monit i zosajemy dalej w sekcjiZapisz.Przycisk
Wróć- przenosi nas do tyłu do sekcjiInformacje o detekcji.
Zapisane pozycje¶
Zapisane pozycje
Zapisane pozycje pokazuje nam wszystkie zapisy obecne na urządzeniu. Sekcja składa się z następujących elementów:
Na górze napis "Zapisane pozycję:" oraz liczba zapisów.
Poniżej napis "Sortuj według:" oraz przyciski umożliwiające sortowanie zaspisów wg. Nazwy lub Daty, malejąco lub rosnąco.
Dalej mamy listę wszystkich zapisów. Każdy element składa się z:
- Nazwy zapisu,
- Daty oraz godziny utworzenia zapisu,
- Wybranego trybu detekcji,
- Przycisku z "X" odpowiadającego za usunięcie zapisu, po potwierdzeniu,
- Przycisku "DETALE", który przenosi do sekcji
Szczegóły zapisu.
Na dole mamy przycisk
Wróć. Powoduje on powrót do sekcjiMenu główne.
Szczegóły zapisu¶
Oryginalne zdjęcie
Zdjęcie z detekcjami - Detekcja kart
Zdjęcie z detekcjami - Poker klasyczny
Zdjęcie z detekcjami - Poker texas
Informacje 1
Informacje 2
Wszystkie detekcje - Detekcja kart
Gracze - Poker klasyczny
Gracze - Poker texas
Opis
Edycja 1
Edycja 2
Sekcja Szczegóły zapisu bardzo przypomina Informacje o detekcji. Jedynymi różnicami są dwie dodatkowe strony, a cała budowa sekcji prezentuje się następująco:
Na górze nazwa zapisu oraz data i godzina utworzenia lub edycji zapisu.
Poniżej widok aktualnej strony - Przedstawia nam różne treści z informacjami, w zależności od numeru strony:
- 1. Oryginalne zdjęcie - pokazuje nam oryginalne zdjęcie, na którym poszukiwaliśmy detekcji.
- 2. Zdjęcie z detekcjami - w zależności od wybranego trybu i tego czy chcemy widzieć pewność detekcji pokazuje nam obraz z detekcjami:
- "Detekcja kart" - zaznacza detekcję w ramkę oraz pokazuje jaka to karta (każda karta ma swój unikalny kolor ramki)
- "Poker Klasyczny" - zaznacza detekcję, ale grupuje je po 5 kart. Każda grupa ma swój kolor oraz wygrana grupa (lub kilka) jest zaznaczona złotym owalem.
- "Poker Texas" - również zaznacza detekcję. Tworzy jedną grupę 5 kart i pozostałe po 2. Też zaznacza wygraych złotym owalem.
- 3. Informację o detekcji - wyświetla następujące informację o detekcji:
- Tryb,
- Oryginalna rozdzielczość ekranu,
- Rozdzielczość modelu,
- Model,
- Próg detekcji,
- zas trwania detekcji,
- Liczba wszystkich detekcji,
- Liczba unikanych kart,
- Wyryte karty:
- Dla trybu "Detekcja kart" są to unikalne karty z największą pewnością.
- Dla trybów "Poker Klasyczny" i "Poker Texas" są to wszystkie detekcje posortowane pewnością.
- 4. Wszystkie detekcje lub Gracze - W zależności od trybu:
- "Detekcja kart" - wyświetla wszystkie znalezione detekcje, posortowane od najpewniejszych.
- "Poker Klasyczny" - wyświetla wygranego gracza oraz rękę i najlepszą kombinację wszystkich graczy.
- "Poker Texas" - pokazuje wygranego gracza, karty wspólne oraz rękę i najlepszą kombinację wszystkich graczy.
- 5. Opis - pokazuje nam opis, jaki przypisaliśmy podczas tworzenia zapisu lub napis "BRAK OPISU", jeśli był on pusty.
- 6. Edycja - tutaj widzimy 5 przycisków mających róźne zastosowania:
EDYTUJ ZAPIS- umożliwia nam edycję nazwy oraz opisu danego zapisu, przenosi nas do sekcji bazującej naZapisz.USUŃ ZAPIS- wyświetla komunikat, czy na pewno chcemy usunąć zapis. Po potwierdzeniu usuwa go.DETEKCJA Z UŻYCIEM INNEGO MODELU- przenosi nas doWybór trybu i modeluz oryginalnym obrazem jako tym, na którym zostanie wykonana detekcja.ZAPISZ W GALERII ORYGINALNE ZDJĘCIE- zapisuje w galerii oryginalne zdjęcie.ZAPISZ W GALERII ZDJĘCIE Z DETEKCJAMI- zapisuje w galerii zdjęcie z detekcjami.
Następnie numery stron, włącznie z aktualnie wybraną.
Na samym dole mamy przycisk
Wróć, przenoszący nas z powrotem do sekcjiZapisane pozycje
Pomniejsze sekcje¶
Widok obrazu w pełnym ekranie¶
Widok obrazu w pełnym ekranie
Widok obrazu w przybliżeniu
Wszędzie, gdzie jest widoczne Oryginalne zdjęcie lub Zdjęcie z detekcjami możemy na nie kliknąć, aby wyświetlić je w pełnym ekranie. W tym stanie możemy je przybliżać.
Pusta detekcja¶
Brak detekcji 1
Brak detekcji 2
Brak detekcji 3
Brak detekcji 4
Brak detekcji: Poker 1
Brak detekcji: Poker 2
Brak detekcji: Poker 3
Brak detekcji: Poker 4
Jeżeli model nie wykryję żadnej detekcji to na stronie Zdjęcie z detekcjami mamy obraz o rozmiarze oryginału, będący cały czarny z napisem "Brak detekcji". Dodatkowo w informacjach oraz detekcjach widzimy napis "BRAK DETEKCJI". Dla pokerów działa to identycznie.
Możliwe problemy¶
Jeśli po zakończeniu detekcji zostajemy przeniesieni do sekcji
Menu głównezamiastInformacje o detekcjioznacza to, że wybrany model okazał się zbyt skomplikowany dla urządzenia (prawdopodobnie ilość ramu okazała się za mała). W takim wypadku należy w sekcjiWybór trybu i modeluwybrać mniejszy model.Po usunięciu aplikacji tracimy wszystkie zapisy
Tak jak wspomniane w sekcji
Wybór trybu i modelu, jeśli wybierzesz tryb Poker Klasyczny lub Poker Texas, upewnij się, że odległości między grupami kart są wystarczające, aby nastąpił odpowiedni podział. Czasami może to wymagać ponownego ustawienia kart i zrobienia nowego zdjęcia.
Podsumowanie¶
Jak widzimy początkowy schemat mocno odwzorowuje finalny projekt (choć występuje kilka różnic). Aplikacja utworzona z przygotowanych modeli działa bardzo dobrze, nawet na nienajlepszym sprzęcie mobilnym.